package com.todo.sight.application.iface.backend.request;

import com.todo.common.common.entity.CurrentStaff;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * @author zhangwenxiang
 * @date 2024/3/17 15:39
 * @description
 */
@Data
@Schema(title = "更新POI入参", description = "更新POI入参")
public class UpdateSightPoiReq {

    private CurrentStaff _staff;
    /**
     * 主键
     */
    @Schema(title = "主键id", description = "主键id")
    private Long id;
    /**
     * 名称
     */
    @Schema(title = "名称", description = "名称")
    private String name;
    /**
     * 业务大类
     * PoiBusinessTypeEnum
     */
    @Schema(title = "业务大类", description = "业务大类")
    private Integer businessType;
    /**
     * 省份
     */
    @Schema(title = "省份", description = "省份")
    private String province;
    /**
     * 城市
     */
    @Schema(title = "城市", description = "城市")
    private String city;
    /**
     * 区县
     */
    @Schema(title = "区县", description = "区县")
    private String district;
    /**
     * 乡镇
     */
    @Schema(title = "乡镇", description = "乡镇")
    private String town;
    /**
     * 具体地址
     */
    @Schema(title = "具体地址", description = "具体地址")
    private String address;
    /**
     * poi类型
     */
    @Schema(title = "poi类型", description = "poi类型")
    private Integer poiType;
    /**
     * 类型列表
     */
    @Schema(title = "类型列表", description = "类型列表")
    private List<String> typeList;
    /**
     * 经度
     */
    @Schema(title = "经度", description = "经度")
    private String lon;
    /**
     * 纬度
     */
    @Schema(title = "纬度", description = "纬度")
    private String lat;
    /**
     * 评分
     */
    @Schema(title = "评分", description = "评分")
    private Integer rating;
    /**
     * 开放时间
     */
    @Schema(title = "开放时间", description = "开放时间")
    private String openTime;
    /**
     * 是否展示
     */
    @Schema(title = "是否展示", description = "是否展示")
    private Integer isShow;

    public boolean baseCheck() {
        if (id == null || name == null || businessType == null || province == null || city == null || district == null || address == null || poiType == null || lon == null || lat == null) {
            return false;
        }
        return true;
    }
}
